/**
 * \file tsm.h
 * \brief fonctions de chargement de fichier
 * \author Somayya ELMATA
 * \author Theo BRASSEUR
 * \version 0.1
 * \date 25/12/2013
 *
 * Ce fichier contient les prototypes des fonctions du fichier tsm.c et 
 * les structures lieés au chargement des fichiers
 *
 */
 
  /**
 * \struct City
 * \brief Objet chaîne de caractères.
 *
 *
 */
typedef struct
{
	char* name; /*!<  */
	long x; /*!<  */
	long y; /*!<  */
}
City;

typedef struct path
{
	City* city;
	int longueur;
	double dst_path;
}Path;
 
#ifndef STD
#define STD
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#endif

#define MAX_CHAR 30
#define TOURN 0
#define ELIT 1
#define MAXMUT 10000
//Fonctions de test
int test_struct_file(FILE *file);
int test_get_city(FILE *file);
int test_nbr_city(FILE *file);
int test_file(FILE *file);
int test_filename(char* file_name);

//Fonctions d'affichage
void print_info_city(City city);
void print_all_city(City* c, int nbrcity);
void print_matrix(City *c, double** mat, int nbrcity);
void print_path(Path chemin);


//Fonctions lecture du fichier
int str_istr (const char *cs, const char *ct);
char* get_city_name(FILE* file, int indice);
int get_coord_x(FILE* file, int indice);
int get_coord_y(FILE* file, int indice);
int next_line(FILE* file);
FILE* lire_apres(FILE* file, char* chaine);
City* get_city(char *file_name);
int get_nbr_city(FILE *file);

//Fonctions calcul de distance
double** compute_all_dst(City *c, int nbrcity);
double compute_dst(City city1,City city2);
double compute_path(Path chemin);
int load_file(City** city, int* nbrcity);




